package com.whfc.ms.api.emp.service;

import com.whfc.emp.dto.AppEmpSettingDTO;
import com.whfc.emp.enums.AttendType;
import com.whfc.emp.param.AppEmpSettingAddParam;
import com.whfc.entity.dto.OssPathDTO;

/**
 * @ClasssName MsAppEmpConfigService
 * @Description 人员配置项服务
 * @Author hw
 * @Date 2020/12/28 18:41
 * @Version 1.0
 */
public interface MsAppEmpConfigService {

    /**
     * 获取考勤方式
     *
     * @param deptId
     * @return
     */
    AttendType getAttendType(Integer deptId);

    /**
     * 设置考勤方式
     *
     * @param deptId
     * @param attendType
     */
    void setAttendType(Integer deptId, AttendType attendType);

    /**
     * 项目是否需要开启人脸识别
     *
     * @param deptId
     * @return
     */
    boolean isIdCardVerify(Integer deptId);

    /**
     * 查询项目的人员配置
     *
     * @param deptId
     * @return
     */
    AppEmpSettingDTO getSetting(Integer deptId);

    /**
     * 添加人员实名制设置
     *
     * @param request
     */
    void settingAdd(AppEmpSettingAddParam request);

    /**
     * 下载考勤二维码
     *
     * @param deptId
     * @return
     */
    OssPathDTO downloadAttendQr(Integer deptId);

    /**
     * 移动端实名制二维码
     *
     * @param deptId
     * @return
     */
    OssPathDTO downloadEmpQr(Integer deptId);

    /**
     * 验证考勤二维码是否启用
     *
     * @param deptId
     * @return
     */
    boolean checkAttendQr(Integer deptId);

    /**
     * 移动端实名制二维码是否启用
     *
     * @param deptId
     * @return
     */
    boolean checkEmpQr(Integer deptId);

}
